#pragma once

#include "../SGD Wrappers/SGD_GraphicsManager.h"
#include "Tile.h"
using namespace std;
#include <vector>

class CLayer;

class CWorldMap
{
	friend class CTileManager;
private:
	//Background layer
	vector<CLayer*>	m_vLayers;

	//Image rendered onto the tiles
	SGD::HTexture m_hTileSet = SGD::INVALID_HANDLE;
	//Size of the map in tiles
	SGD::Size m_szMapSize;
	//Images drawn onto tiles
	SGD::Size m_szTileSize;
	//Size of the tileset in pixels
	SGD::Size m_szTileSetSizeP;
	//Tiles indicate what they get their info from
	vector<CTile*> m_vTiles;
	//Tile Types
	vector<string> m_vTileTypes;

public:
	CWorldMap(const char* imageFilePath);
	CWorldMap(const CWorldMap&) = delete;
	CWorldMap& operator= (const CWorldMap&) = delete;
	~CWorldMap();

	void Render();
	void Update(float dt);

};

